<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>例子1</title>
</head>

<body>
    <script>
        var salesOffices = {}; // 定义售楼处
        salesOffices.clientList = []; // 缓存列表，存放订阅者的回调函数
        salesOffices.listen = function() { // 增加订阅者
            this.clientList.push(fn) // 订阅的消息添加进缓存列表
        };
        salesOffices.trigger = function() { // 发布消息
            for (var i = 0, fn; fn = this.clientList[i++];) {
                fn.apply(this, arguments); // arguments 是发布消息时带上的参数。
            }
        }‘
    </script>
</body>

</html>